package br.ufc.gui;

import java.awt.GridBagLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;

/**
 * Janela da aplicação
 */
@SuppressWarnings("serial")
public class AppFrame extends JFrame{
	MenuBar menubar = new MenuBar();
	JPanel contentPane = new MainPanel(new GridBagLayout());
	

	/**
	 * Constroi um AppFrame com o título especificado.
	 * @param title - título da janela
	 */
	public AppFrame(String title) {
		setTitle(title);
		setSize(660, 200);
		setLocationRelativeTo(null);
		// Define o que fazer quando a janela for fechada.
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		// Define um container para o JFrame
		setContentPane(contentPane);
		initUI();
	}
	
	private void initUI() {
		setNativeLookAndFeel();
		setJMenuBar(menubar);
	}
	
	
	/**
	 * Seta o LookAndFeel como sendo o do ambiente gráfico em uso.
	 */
	private void setNativeLookAndFeel() {
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (Exception e) {
			System.err.println("Error setting native Look And Feel: " + e);
		}
	}
	
	/**
	 * Seta o LookAndFeel como sendo o do Java(Cross Platform).
	 */
	@SuppressWarnings("unused")
	private void setJavaLookAndFeel() {
		try {
			UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
		} catch (Exception e) {
			System.err.println("Error setting native Look And Feel: " + e);
		}
	}
	
}
